/*
*	Classe Basic Element
*	TODO:	1- Verificar o código das transformações (acredito que esteja incorreto)
*			2- Adicionar posteriormente código que possibilite alterar os atributos do elemento
*			em especial a cor.
*
*/
#ifndef _BASIC_ELEMENT__H
#define _BASIC_ELEMENT__H

#include <GL/gl.h>
#include <GL/glu.h>
#include "SceneElement.h"

namespace gameCG {
	class BasicElement : public SceneElement {
		public:
			BasicElement();
			
			void applyTransformations();

			void clearTransformations();
			void Rotate(GLfloat angle, GLfloat aX, GLfloat aY, GLfloat aZ);
			void Translate(GLfloat dX, GLfloat dY, GLfloat dZ);
			void Scale(GLfloat cX, GLfloat cY, GLfloat cZ);

		private:
			GLdouble m_matrix[16];
			bool existTransformation;
	};
}

#endif
